.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc.  All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2020      Google, LLC. All rights reserved.
.\" $COPYRIGHT$
.TH MPI_Request_get_status 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
.SH NAME
\fBMPI_Request_get_status\fP \- Access information associated with a request without freeing the request.

.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Request_get_status(MPI_Request \fIrequest\fP, int \fI*flag\fP, MPI_Status \fI*status\fP)

.fi
.SH Fortran Syntax
.nf
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_REQUEST_GET_STATUS(\fIREQUEST\fP, \fIFLAG\fP, \fISTATUS\fP, \fIIERROR\fP)
	INTEGER	REQUEST, STATUS(MPI_STATUS_SIZE), IERROR
	LOGICAL	FLAG

.fi
.SH Fortran 2008 Syntax
.nf
USE mpi_f08
MPI_Request_get_status(\fIrequest\fP, \fIflag\fP, \fIstatus\fP, \fIierror\fP)
	TYPE(MPI_Request), INTENT(IN) :: \fIrequest\fP
	LOGICAL, INTENT(OUT) :: \fIflag\fP
	TYPE(MPI_Status) :: \fIstatus\fP
	INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP

.fi
.SH INPUT PARAMETER
.ft
.TP 1i
request
      Communication request (handle).

.SH OUTPUT PARAMETERS
.ft
.TP 1i
flag
Boolean flag, same as from MPI_Test (logical).
.ft
.TP 1i
status
MPI_Status object if flag is true (status).

.SH DESCRIPTION
.ft R
MPI_Request_get_status sets \fIflag\fP=\fItrue\fP if the operation is complete or sets \fIflag\fP=\fIfalse\fP if it is not complete. If the operation is complete, it returns in \fIstatus\fP the request status. It does not deallocate or inactivate the request; a subsequent call to test, wait, or free should be executed with that request.
.sp
If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument.

.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

